home *** CD-ROM | disk | FTP | other *** search
- Subject: Re: Can't externalize an FW_CArcShape
- Sent: 5/29/96 9:50 PM
- Received: 5/30/96 9:27 AM
- From: Jim Lloyd, jim@melongem.com
- Reply-To: ODF Interest, ODF-Interest@CILabs.ORG
- To: OpenDoc Development Framework Discussion List, ODF-Interest@CILabs.
-
- At 10:28 AM 5/29/96, Walter Holladay wrote:
- >I am trying to externalize an FW_CArcShape object, and I'm not having
- >much luck.
- >When I attempt an FW_WRITE_DYNAMIC_OBJECT, I get the following
- >errors:
- >
- >FWArDyna.cpp @286: GetNameToLabelMap().Find(tempName)
- >FWArDyna.cpp @290: item
- >FWArDyna.cpp @500: ("No registered archiving functions for class
-
- One of our goals with ODF R1 was to faciliate dead-code stripping wherever
- possible. If a part doesn't use a feature, it shouldn't have code for that
- feature linked into the part. This isn't easy to achieve for every
- feature, but we spent some time making sure it happened where it could.
-
- It turns out that archiving is one area that can defeat dead-stripping. We
- therefore arranged our source files so that all archiving-related code for
- most archivable classes are in their own translation units where they can
- be easily dead-stripped. This means that if you don't use archiving for a
- class, the archiving-related code won't be linked into your part. However,
- if you do use archiving for a class, you must take explicit action to
- prevent the archiving-related code from being dead-stripped! This is done
- with the FW_DO_NOT_DEAD_STRIP macro. You can call this macro from any
- function that you know will definitely not be dead-stripped. A good place
- is your part's Initialize method.
-
- By the way, the work we did to faciliate dead-stripping of
- archiving-related code reduced the size of ODFNothing by about 40K. It's a
- particularly big win because classes that are not used at all won't be
- dead-stripped if their archiving-related functions (in particular, the
- Create function) are not dead-stripped.
-
- Jim Lloyd
-
-